package com.ruoyi.biz.service;

import com.ruoyi.biz.domain.TTestCaseInfo;

import java.util.List;
import java.util.Map;

/**
 * 【请填写功能名称】Service接口
 *
 * @author jiangnan
 * @date 2021-03-12
 */
public interface ITTestCaseInfoService {
    /**
     * 查询【请填写功能名称】
     *
     * @param id 【请填写功能名称】ID
     * @return 【请填写功能名称】
     */
    public TTestCaseInfo selectTTestCaseInfoById(Long id);

    /**
     * 查询【请填写功能名称】列表
     *
     * @param tTestCaseInfo 【请填写功能名称】
     * @return 【请填写功能名称】集合
     */
    public List<TTestCaseInfo> selectTTestCaseInfoList(TTestCaseInfo tTestCaseInfo);

    /**
     * 根据查询条件导出
     * @param tTestCaseInfo
     * @return
     */
    public List<TTestCaseInfo> selectTTestCaseInfoListByInfo(TTestCaseInfo tTestCaseInfo);

    /**
     * 新增【请填写功能名称】
     *
     * @param tTestCaseInfo 【请填写功能名称】
     * @return 结果
     */
    public int insertTTestCaseInfo(TTestCaseInfo tTestCaseInfo);

    /**
     * 修改【请填写功能名称】
     *
     * @param tTestCaseInfo 【请填写功能名称】
     * @return 结果
     */
    public int updateTTestCaseInfo(TTestCaseInfo tTestCaseInfo);

    /**
     * 批量删除【请填写功能名称】
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteTTestCaseInfoByIds(String ids);

    /**
     * 删除【请填写功能名称】信息
     *
     * @param id 【请填写功能名称】ID
     * @return 结果
     */
    public int deleteTTestCaseInfoById(Long id);

    /**
     * 根据parentId 查询对象
     * @param parentId
     * @return
     */
    TTestCaseInfo getInfoByParentId(String parentId);

    /**
     * 根据child查询对象
     * @param childId
     * @return
     */
    TTestCaseInfo getInfoByChildId(String childId);

    List<TTestCaseInfo> getInfoListByRootId(String rootId);
    /**
     * 获取测试用例总数
     *
     * @param tTestCaseInfo
     * @return
     */
    int getCaseTotal(TTestCaseInfo tTestCaseInfo);
    int getCaseTotalInChildIds(String[] childIds);

    /**
     * 获取测试用例执行数量
     *
     * @param tTestCaseInfo
     * @return
     */
    int getCaseExecuteTotal(TTestCaseInfo tTestCaseInfo);
    int getCaseExecuteTotalInChildIds(String[] childIds);

    /**
     * 获取测试用例失败个算
     *
     * @param tTestCaseInfo
     * @return
     */
    int getCaseFailTotal(TTestCaseInfo tTestCaseInfo);
    int getCaseFailTotalInChildIds(String[] childIds);

    /**
     * 获取时间
     * @param tTestCaseInfo
     * @return
     */
    Map<String, Object> getInfoTime(TTestCaseInfo tTestCaseInfo);
    Map<String, Object> getInfoTimeInChildIds(String[] childIds);

    /**
     * 根据行数据导出
     * @param childIds
     * @return
     */
    List<TTestCaseInfo> getInfoListInChildIds(String[] childIds);
}
